//package com.sqx.modules.file;
//
//import org.springframework.core.io.FileSystemResource;
//import org.springframework.http.MediaType;
//import org.springframework.http.ResponseEntity;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.PathVariable;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//import org.springframework.http.HttpHeaders;
//
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.IOException;
//
//@RestController
//@RequestMapping("/file")
//public class FileController {
//
//
//    /**
//     * 下载视频
//     * @param year
//     * @param month
//     * @param day
//     * @param filename
//     * @return
//     */
//    @GetMapping("/uploadPath/{year}/{month}/{day}/{filename}")
//    public ResponseEntity<byte[]> getFile(@PathVariable("year") String year,
//                        @PathVariable("month") String month,
//                        @PathVariable("day") String day,
//                        @PathVariable("filename") String filename) {
//
//        System.out.println("获取文件资源: ================" + year + "/" + month + "/" + day + "/" + filename);
//        // 在这里实现获取文件资源的逻辑
//        // 例如，从指定的路径读取文件并返回给客户端
//        String filePath = "D:/ruoyi/uploadPath/" + year + "/" + month + "/" + day + "/" + filename;
//        // 读取文件并处理的代码
//        File file = new File(filePath);
//
//        if (!file.exists()) {
//            return ResponseEntity.notFound().build();
//        }
//
//        try (FileInputStream fis = new FileInputStream(file)) {
//            byte[] bytes = new byte[fis.available()];
//            fis.read(bytes);
//
//            HttpHeaders headers = new HttpHeaders();
//            headers.setContentType(MediaType.parseMediaType("video/mp4")); // 根据视频格式设置相应的 MediaType
//            headers.setContentLength(file.length());
//
//            return ResponseEntity.ok()
//                    .contentType(MediaType.APPLICATION_OCTET_STREAM)
//                    .body(bytes);
//        } catch (IOException e) {
//            e.printStackTrace();
//            return ResponseEntity.internalServerError().build();
//        }
//    }
//}
